home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / dot_bullet.lua < prev    next >
Encoding:
Text File  |  2007-01-25  |  5.3 KB  |  177 lines

  1.  
  2. function ps_bullet_dot_fire()
  3.     local bullet = uniGetExecutor()
  4.     bullet:setTransformOwner()
  5.     bullet:addSimpleEffect(ENET_EFFECT_LIGHT_BULLET_DOT)
  6. --    bullet:addSimpleEffect(ENET_EFFECT_SPRITE_TEST)
  7. --    waitDeath(bullet:addMoveEffect(ENET_EFFECT_MOVE_LINEARFLY,100,uniGetTarget()))
  8.     waitDeath(bullet:forwardFly(uniGetTarget(),300))
  9.     bullet:suspend()
  10.     bullet:killEffect(ENET_EFFECT_LIGHT_BULLET_DOT)
  11.     local hit_ps = bullet:addSimpleEffect(ENET_EFFECT_PS_BULLET_DOT_HIT)
  12.     pause(0.2)
  13.     hit_ps:suspendedDestroy(0.6)
  14.     uniGetTarget():executeCommand(ENC_DAMAGED)
  15.     pause(0.6)
  16.     bullet:destroy()
  17. end
  18.  
  19. registerCommand(ENSCRIPTSET_PS_BULLET_DOT,ENC_FIRE1,"ps_bullet_dot_fire")
  20.  
  21. -- particle system of dot bullet fly
  22. desc = getEffectDescription(ENET_EFFECT_PS_BLUELASERBOLT)
  23. --desc = getEffectDescription(ENET_EFFECT_PS_UNITFIRINGBADLY)
  24. desc.ScriptSet = ENSCRIPTSET_PS_BULLET_DOT
  25. desc.MoveType = ENMOVE_FLY
  26. changeEffect(ENET_EFFECT_PS_BULLET_DOT,desc)
  27. -- light source for flying dot bullet
  28. desc = getEffectDescription(ENET_EFFECT_LIGHT_BLUELASERBOLTFLY)
  29. changeEffect(ENET_EFFECT_LIGHT_BULLET_DOT,desc)
  30. -- dot bullet hit particle system effect
  31. desc = getEffectDescription(ENET_EFFECT_PS_BLUELASERBOLTHIT)
  32. changeEffect(ENET_EFFECT_PS_BULLET_DOT_HIT,desc)
  33.  
  34. --
  35. -- sprite 0 creation test
  36. --
  37. desc = getEffectDescriptionP(ENET_EFFECT_SPRITE_TEST)
  38.  
  39. desc.ClassID = ENCLASS_ORIENTEDSPRITE
  40. desc.EffectClassType = ENECT_ORIENTEDSPRITE
  41.  
  42. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  43. desc.FileName = "particle.dds"
  44. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  45. local vzbzd1 = D3DXVECTOR3:new(0,0,0)
  46. desc.LocalPosition = vzbzd1
  47. vzbzd1:delete()
  48. desc.isAnimateTexture = false
  49.  
  50. desc.Material = ENMAT_3DSPRITE_ALPHED
  51. desc.MaterialColors.Ambient.r = 0
  52. desc.MaterialColors.Ambient.g = 0
  53. desc.MaterialColors.Ambient.b = 0
  54. desc.MaterialColors.Ambient.a = 1
  55. desc.MaterialColors.Diffuse.r = 0
  56. desc.MaterialColors.Diffuse.g = 0
  57. desc.MaterialColors.Diffuse.b = 0
  58. desc.MaterialColors.Diffuse.a = 1
  59. desc.MaterialColors.Emissive.r = 10
  60. desc.MaterialColors.Emissive.g = 10
  61. desc.MaterialColors.Emissive.b = 10
  62. desc.MaterialColors.Emissive.a = 1
  63. desc.RenderType = ENRENDERTYPE_GEOMETRY
  64.  
  65. spdesc = desc.OrientedSprite
  66. spdesc.SpriteType = EN3DSPRITE_ORIENTED
  67. spdesc.xsize = 5
  68. spdesc.ysize = 15
  69. local vzbzd2 = D3DXVECTOR3:new(0,0,1)
  70. spdesc.OrientAxis = vzbzd2
  71. vzbzd2:delete()
  72. local vzbzd3 = D3DXVECTOR3:new(0,1,0)
  73. spdesc.BindAxis = vzbzd3
  74. vzbzd3:delete()
  75. spdesc.Centering = ENCENTERING_CENTER
  76. spdesc.IsTargetted = false
  77. spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
  78. spdesc.IsAxisInLocalSpace = true
  79. --
  80. -- end test sprite creation description
  81. --
  82.  
  83. -- replace PS desc by sprite desc
  84. desc = getEffectDescription(ENET_EFFECT_SPRITE_TEST)
  85. desc.ScriptSet = ENSCRIPTSET_PS_BULLET_DOT
  86. desc.MoveType = ENMOVE_FLY
  87. changeEffect(ENET_EFFECT_PS_BULLET_DOT,desc)
  88.  
  89. --
  90. -- sprite 0 creation test
  91. --
  92. desc = getEffectDescriptionP(ENET_EFFECT_SPRITE_TEST2)
  93. desc.ClassID = ENCLASS_ORIENTEDSPRITE
  94. desc.EffectClassType = ENECT_ORIENTEDSPRITE
  95.  
  96. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  97. desc.FileName = "water_explosion_shockwave.dds"
  98. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  99. local vzbzd4 = D3DXVECTOR3:new(0,0,0)
  100. desc.LocalPosition = vzbzd4
  101. vzbzd4:delete()
  102. desc.isAnimateTexture = false
  103.  
  104. desc.Material = ENMAT_3DSPRITE_ALPHED
  105. desc.MaterialColors.Ambient.r = 0
  106. desc.MaterialColors.Ambient.g = 0
  107. desc.MaterialColors.Ambient.b = 0
  108. desc.MaterialColors.Ambient.a = 1
  109. desc.MaterialColors.Diffuse.r = 0
  110. desc.MaterialColors.Diffuse.g = 0
  111. desc.MaterialColors.Diffuse.b = 0
  112. desc.MaterialColors.Diffuse.a = 1
  113. desc.MaterialColors.Emissive.r = 1
  114. desc.MaterialColors.Emissive.g = 1
  115. desc.MaterialColors.Emissive.b = 1
  116. desc.MaterialColors.Emissive.a = 1
  117. desc.RenderType = ENRENDERTYPE_GEOMETRY
  118.  
  119. spdesc = desc.OrientedSprite
  120. spdesc.SpriteType = EN3DSPRITE_BINDED
  121. spdesc.xsize = 10
  122. spdesc.ysize = 10
  123. local vzbzd5 = D3DXVECTOR3:new(1,0,0)
  124. spdesc.OrientAxis = vzbzd5
  125. vzbzd5:delete()
  126. local vzbzd6 = D3DXVECTOR3:new(0,0,1)
  127. spdesc.BindAxis = vzbzd6
  128. vzbzd6:delete()
  129. spdesc.Centering = ENCENTERING_CENTER
  130. spdesc.isTargetted = false
  131. spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
  132. spdesc.IsAxisInLocalSpace = false
  133. --
  134. -- end test sprite creation description
  135. --
  136.  
  137. --
  138. -- effects emitter creation test
  139. --
  140. desc = getEffectDescriptionP(ENET_EFFECT_EFFECTSEMITTER_TEST)
  141. desc.ClassID = ENCLASS_UNKNOWN
  142. desc.EffectClassType = ENECT_EFFECTSEMITTER
  143.  
  144. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  145. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  146. local vzbzd7 = D3DXVECTOR3:new(0,0,0)
  147. desc.LocalPosition = vzbzd7
  148. vzbzd7:delete()
  149. emitterdesc = desc.EffectsEmitter
  150. emitterdesc.EmitEffectType = ENET_EFFECT_SPRITE_TEST2
  151. emitterdesc.EffectsPerSecond = 100
  152.  
  153. --
  154. -- end effects emitter creation description
  155. --
  156.  
  157. --
  158. -- effects emitter creation test
  159. --
  160. desc = getEffectDescriptionP(ENET_EFFECTSEMITTER_SHIPSTANDINGWATERWAVE)
  161. desc.ClassID = ENCLASS_UNKNOWN
  162. desc.EffectClassType = ENECT_EFFECTSEMITTER
  163.  
  164. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  165. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  166. local vzbzd8 = D3DXVECTOR3:new(0,0,0)
  167. desc.LocalPosition = vzbzd8
  168. vzbzd8:delete()
  169. desc.ActivityType = ENACT_SEMIACTIVE
  170.  
  171. emitterdesc = desc.EffectsEmitter
  172. emitterdesc.EmitEffectType = ENET_EFFECT_BINDEDSPRITE_SHIP_WATERTRAY_STANDING
  173. emitterdesc.EffectsPerSecond = 1.3
  174. --
  175. -- end effects emitter creation description
  176. --
  177.